package com.example.springmvc;

import jakarta.servlet.http.HttpSession;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
public class UserController {
    @RequestMapping("/login")
    public Boolean login(String userName, String password, HttpSession session){
        // 1. 参数校验 StringUtils.hasLength() 是 Spring 提供的一个工具方法，判断字符串是否有值
        //            字符串为 null 或者 "" 时，返回false，其他返回true
        if(!StringUtils.hasLength(userName) || !StringUtils.hasLength(password)){
            return false;
        }
        // 2. 判断账号和密码是否正确
        //TODO 因为还未学习数据库相关的操作, 暂且写成 name=admin password=admin 时正确
        if("admin".equals(userName) && "admin".equals(password)){
            // 3. 密码验证成功，把用户名存储在 Session 中
            session.setAttribute("userName", userName);
            return true;
        }
        return false;
    }

    @RequestMapping("/getLoginUser")
    public String getLoginUser(HttpSession session){
        // 从 Session 中获取用户登录信息
        String userName = (String) session.getAttribute("userName");
        return userName == null ? "无登录" : userName;
    }
}
